Maximum likelihood sequence estimation techniques are often employed to extract useful data out of a noisy data stream. The Viterbi algorithm is one well-known example of an MLSE algorithm that finds a most likely sequence of hidden states that results in a sequence of observed events. The Viterbi algorithm recognizes that when two paths lead into the same state, all future branch metrics of the two paths will be identical. Thus, one path with an inferior cumulative metric can be discarded, and only the superior path need be retained. As the number of filter coefficients increases, however, the number of states grows exponentially.
Thus, reduced complexity MLSE algorithms are often employed to reduce the number of states to consider. For example, the M-Algorithm keeps the M most likely paths (e.g., the paths with the “best path metrics”) among those paths that end at the same level of a trellis, and the remaining states are deleted. See, for example, J. B. Anderson, “Limited Search Trellis Decoding of Convolutional Code,” IEEE Trans. Inf. Theory, Vol. 35, No. 5, pp. 944-955 (September 1989). At the end of the trellis, the path with the best path metric is selected.
MLSE techniques have been used for both decoding and encoding of signals. MLSE decoding techniques, for example, select a transmitted codeword y that maximizes the probability that a received codeword x was received, given that the transmitted codeword y was sent. PCT Patent Application Serial No. PCT/US12/62175, filed Oct. 26, 2012, and entitled “Direct Digital Synthesis of Signals Using Maximum Likelihood Bit-Stream Encoding,” is an example of an MLSE encoding technique that directly synthesizes RF signals using maximum likelihood sequence estimation. While such MLSE techniques have improved the performance of both signal encoding and decoding, a need remains for maximum likelihood bit-stream generation and detection using the M-algorithm and Infinite Impulse Response (IIR) filtering.